package com.rybbaby.tss.front.tssStudent.entity;

import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;
import java.io.Serializable;
import java.sql.Timestamp;

/**
 * @description 客户表
 *
 * @author 雷春琼
 *
 * @createDate 2017-08-09 下午2:48:34
 */
@Entity
@Table(name = "view_tss_student")
@DynamicUpdate(true)
@DynamicInsert(true)
public class ViewTssStudent implements Serializable {


	/** 主键 **/
	private String id;
	/** 客户姓名 **/
	private String name;
	/** 昵称 **/
	private String nickName;
	/** 性别 **/
	private Integer sex;
	/**
	 * 会员年龄
	 */
	private Double age;

	/** 联系电话 **/
	private String contactPhone;

	/** 名单状态 **/
	private Integer listStatus;
	/** 客户状态 **/
	private Integer stuStatus;
	/** 当前操作者Id **/
	private String  userName;
	/** 修改时间 **/
	private java.sql.Timestamp updateTime;

	/** 录入日期 **/
	private Timestamp createTime;


	/** 最后跟近日期、沟通日期 **/
	private java.sql.Timestamp followUpTime;
	/** 分配日期、转入日期 **/
	private java.sql.Timestamp allocationTime;
	/**
	 * 员工Id
	 */
	private String realName;

	/** 是否已转会员 **/
	private java.lang.Boolean isMember;

	/**
	 * 当前操作人id
	 */
	private  String adminUserId;
	/**
	 * 所属顾问名字
	 */
	private String empRealName;

	/** 所属顾问Id **/
	private String empAdminUserId;
	/**
	 * 方法: 取得主键
	 *
	 * @return java.lang.String 主键
	 */
	@Id
	@GeneratedValue(generator = "view_tss_studentIDGenerator" , strategy = GenerationType.AUTO)
	@GenericGenerator(name = "view_tss_studentIDGenerator" , strategy = "uuid")
	@Column(name = "id", nullable= false, length = 32)
	public String getId() {
		return this.id;
	}

	/**
	 * 方法: 设置主键
	 *
	 * @param id 主键
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 方法: 取得客户姓名
	 *
	 * @return java.lang.String 客户姓名
	 */
	@Column(name = "name", nullable= true, length = 12)
	public String getName() {
		return this.name;
	}

	/**
	 * 方法: 设置客户姓名
	 *
	 * @param name 客户姓名
	 */
	public void setName(String name) {
		this.name = name;
	}

	/**
	 * 方法: 取得昵称
	 *
	 * @return java.lang.String 昵称
	 */
	@Column(name = "nickName", nullable= true, length = 50)
	public String getNickName() {
		return this.nickName;
	}

	/**
	 * 方法: 设置昵称
	 *
	 * @param nickName 昵称
	 */
	public void setNickName(String nickName) {
		this.nickName = nickName;
	}

	/**
	 * 方法: 取得性别
	 *
	 * @return java.lang.Integer 性别
	 */
	@Column(name = "sex", nullable= true, length = 11)
	public Integer getSex() {
		return this.sex;
	}

	/**
	 * 方法: 设置性别
	 *
	 * @param sex 性别
	 */
	public void setSex(Integer sex) {
		this.sex = sex;
	}


	/**
	 * 方法: 取得联系电话
	 *
	 * @return java.lang.String 联系电话
	 */
	@Column(name = "contactPhone", nullable= true, length = 11)
	public String getContactPhone() {
		return this.contactPhone;
	}

	/**
	 * 方法: 设置联系电话
	 *
	 * @param contactPhone 联系电话
	 */
	public void setContactPhone(String contactPhone) {
		this.contactPhone = contactPhone;
	}



	/**
	 * 方法: 取得名单状态
	 *
	 * @return java.lang.Integer 名单状态
	 */
	@Column(name = "listStatus", nullable= true, length = 11)
	public Integer getListStatus() {
		return this.listStatus;
	}

	/**
	 * 方法: 设置名单状态
	 *
	 * @param listStatus 名单状态
	 */
	public void setListStatus(Integer listStatus) {
		this.listStatus = listStatus;
	}
	/**
	 * 方法: 取得客户状态
	 *
	 * @return java.lang.Integer 客户状态
	 */
	@Column(name = "stuStatus", nullable= true, length = 11)
	public Integer getStuStatus() {
		return stuStatus;
	}
	/**
	 * 方法: 设置客户状态
	 *
	 * @param stuStatus 客户状态
	 */
	public void setStuStatus(Integer stuStatus) {
		this.stuStatus = stuStatus;
	}



	/**
	 * 方法: 取得APP中孩子ID
	 *
	 * @return java.sql.Timestamp APP中孩子ID
	 */
	@Column(name = "updateTime", nullable= true, length = 19)
	public java.sql.Timestamp getUpdateTime() {
		return this.updateTime;
	}

	/**
	 * 方法: 设置修改时间
	 *
	 * @param updateTime 修改时间
	 */
	public void setUpdateTime(java.sql.Timestamp updateTime) {
		this.updateTime = updateTime;
	}



	@Column(name = "age", nullable= true )
	public Double getAge() {
		return age;
	}

	public void setAge(Double age) {
		this.age = age;
	}
	@Column(name = "userName", nullable= true, length = 20)
	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}
	@Column(name = "followUpTime", nullable= true, length = 19)
	public Timestamp getFollowUpTime() {
		return followUpTime;
	}

	public void setFollowUpTime(Timestamp followUpTime) {
		this.followUpTime = followUpTime;
	}
	@Column(name = "allocationTime", nullable= true, length = 19)
	public Timestamp getAllocationTime() {
		return allocationTime;
	}

	public void setAllocationTime(Timestamp allocationTime) {
		this.allocationTime = allocationTime;
	}
	@Column(name = "realName", nullable= true, length = 20)
	public String getRealName() {
		return realName;
	}

	public void setRealName(String realName) {
		this.realName = realName;
	}

	/**
	 * 方法: 取得是否已转会员
	 *
	 * @return java.lang.Boolean 是否已转会员
	 */
	@Column(name = "isMember", nullable= true, length = 1)
	public java.lang.Boolean getIsMember() {
		return isMember;
	}

	/**
	 * 方法: 设置是否已转会员
	 *
	 * @param isMember 是否已转会员
	 */
	public void setIsMember(java.lang.Boolean isMember) {
		this.isMember = isMember;
	}
	@Column(name = "adminUserId", nullable= true, length = 32)
	public String getAdminUserId() {
		return adminUserId;
	}

	public void setAdminUserId(String adminUserId) {
		this.adminUserId = adminUserId;
	}

    @Column(name = "createTime", nullable= true, length = 19)
    public Timestamp getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Timestamp createTime) {
        this.createTime = createTime;
    }

	@Column(name = "emprealname", nullable= true, length = 50)
	public String getEmpRealName() {
		return empRealName;
	}

	public void setEmpRealName(String empRealName) {
		this.empRealName = empRealName;
	}

	@Column(name = "empAdminUserId", nullable= true, length = 32)
	public String getEmpAdminUserId() {
		return empAdminUserId;
	}

	public void setEmpAdminUserId(String empAdminUserId) {
		this.empAdminUserId = empAdminUserId;
	}
}